﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
/*****************************************************************************************************************          
 Copyright © 2010 - Banco Itaú BBA S.A          
          
 TranslateGarantiaContrato 
            
 Histórico de Alterações:      
  26/10/2010 - Aline Abreu Alves (AAALVES)	- Criacao OS423540 

 *****************************************************************************************************************/

namespace ibba.src.norisk.ServiceImplementation
{
    public class TranslateGarantiaContrato
    {
        public static List<Contracts.GarantiaContrato> Translate(List<BusinessEntities.GarantiaContrato> pGarantiaContrato)
        {

            return ((
                        from p in pGarantiaContrato
                        select new Contracts.GarantiaContrato()
                        {

                            CodBem = p.CodBem,
                            DscBem = p.DscBem,
                            CodCliente = p.CodCliente,
                            CodContrato = p.CodContrato,
                            CodGarantia = p.CodGarantia,
                            DscGarantia = p.DscNatureza,
                            CodGarantidor = p.CodGarantidor,
                            CodInstrumento = p.CodInstrumento,
                            DscInstrumento = p.DscInstrumento,
                            CodNatureza = p.CodNatureza,
                            DscNatureza = p.DscNatureza,
                            DscGarantidor = p.DscGarantidor,
                            NomCliente = p.NomCliente,
                            PercHE = p.PercHE.HasValue ? p.PercHE : null,
                            PercHV = p.PercHV.HasValue ? p.PercHV : null,
                            PercLMM = p.PercLMM.HasValue ? p.PercLMM : null,
                            Utilizar = p.Utilizar,
                            NomGarantidor = p.NomGarantidor,
                            NomGrupoCliente = p.NomGrupoCliente,
                            id = p.id,
                            CdUsuario = p.CdUsuario,
                            DtAlteracao = p.DtAlteracao.HasValue ? p.DtAlteracao : null,
                            Incondicional = p.Incondicional,
                            DtInicio = p.DtInicio.HasValue ? p.DtInicio : null,
                            DtTermino = p.DtTermino,
                            IdParametro = p.IdParametro.HasValue ? p.IdParametro.Value : -1,
                            VlParametro = p.VlParametro,
                            IdMotivo = p.IdMotivo,
                            DsJustificativa = p.DsJustificativa

                        }
                     ).ToList()
                  );
        }

        public static List<BusinessEntities.GarantiaContrato> Translate(List<Contracts.GarantiaContrato> pGarantiaContrato)
        {
            return ((from p in pGarantiaContrato
                     select new BusinessEntities.GarantiaContrato()
                     {
                         CodBem = p.CodBem,
                         DscBem = p.DscBem,
                         CodCliente = p.CodCliente,
                         CodContrato = p.CodContrato,
                         CodGarantia = p.CodGarantia,
                         DscGarantia = p.DscNatureza,
                         CodGarantidor = p.CodGarantidor,
                         CodInstrumento = p.CodInstrumento,
                         DscInstrumento = p.DscInstrumento,
                         CodNatureza = p.CodNatureza,
                         DscNatureza = p.DscNatureza,
                         DscGarantidor = p.DscGarantidor,
                         NomCliente = p.NomCliente,
                         PercHE = p.PercHE,
                         PercHV = p.PercHV,
                         PercLMM = p.PercLMM,
                         Utilizar = p.Utilizar,
                         NomGarantidor = p.NomGarantidor,
                         NomGrupoCliente = p.NomGrupoCliente,
                         id = p.id,
                         CdUsuario = p.CdUsuario,
                         DtAlteracao = p.DtAlteracao,
                         Incondicional = p.Incondicional,
                         DtInicio = p.DtInicio,
                         DtTermino = p.DtTermino,
                         IdParametro = p.IdParametro,
                         VlParametro = p.VlParametro,
                         IdMotivo = p.IdMotivo,
                         DsJustificativa = p.DsJustificativa

                     }
                    ).ToList()
                );
        }



        public static List<Contracts.TipoParametroGarantia> TranslateTipoParametro(List<BusinessEntities.TipoParametroGarantia> pTiposParametros)
        {

            return ((
                        from p in pTiposParametros
                        select new Contracts.TipoParametroGarantia()
                        {
                            IdTipoParametroGarantia = p.IdTipoParametroGarantia,
                            NmTipoParametroGarantia = p.NmTipoParametroGarantia,
                            IdTipoCampo = p.IdTipoCampo,
                            TipoCampo = p.TipoCampo,
                            NrPrecisao = p.NrPrecisao,
                            DsTipoParametroGarantia = p.DsTipoParametroGarantia
                        }
                     ).ToList()
                  );
        }


        public static List<BusinessEntities.TipoParametroGarantia> TranslateTipoParametro(List<Contracts.TipoParametroGarantia> pTiposParametros)
        {

            return ((
                        from p in pTiposParametros
                        select new BusinessEntities.TipoParametroGarantia()
                        {
                            IdTipoParametroGarantia = p.IdTipoParametroGarantia,
                            NmTipoParametroGarantia = p.NmTipoParametroGarantia,
                            IdTipoCampo = p.IdTipoCampo,
                            TipoCampo = p.TipoCampo,
                            NrPrecisao = p.NrPrecisao,
                            DsTipoParametroGarantia = p.DsTipoParametroGarantia
                        }
                     ).ToList()
                  );
        }


    }
}
